package com.simplesoftwares.client.library.libservice;

import java.util.ArrayList;

import com.google.gwt.user.client.rpc.AsyncCallback;
import com.simplesoftwares.client.library.ReturnFromServer;
import com.simplesoftwares.client.library.appstructure.SuperModel;
import com.simplesoftwares.client.library.appstructure.search.MyQuerry;
import com.slicktechnologies.shared.Contract;

public interface GenricServiceAsync {
	
	void save(SuperModel m,AsyncCallback<ReturnFromServer>callback);
	
	void save(ArrayList<SuperModel> m,AsyncCallback<ArrayList<ReturnFromServer>>callback);
	
	void update(SuperModel m,AsyncCallback<Void>callback);
	void delete(SuperModel m,AsyncCallback<Void>callback);
	public void print (Long id,AsyncCallback<Void>callback);
	public void download(ArrayList<SuperModel>m,AsyncCallback<Void>callback);
	public void email(Long id,AsyncCallback<Void>callback);
	
	
	void getSearchResult(MyQuerry quer,AsyncCallback<ArrayList<SuperModel>>callback);
	void  getCount(SuperModel m,AsyncCallback<Integer>callback);
	
	public void putInMemCache(SuperModel model,AsyncCallback<Void>callback);

	
}
